home *** CD-ROM | disk | FTP | other *** search
/ Trusted Irix /B 4.0.4 / Trusted-Irix B-4.0.1.iso / dist / eoe1.idb / usr / include / sys / idbg.h.z / idbg.h
C/C++ Source or Header  |  1992-04-03  |  2KB  |  52 lines

  1. #ident "$Revision: 3.7 $"
  2.  
  3. /*
  4.  * The kernel writes out an array of these structures to dbgmon memory
  5.  * at startup, so that dbgmon knows where to find various structures.
  6.  * Remember to change stand/symmon/idbg.h if this file is changed
  7.  */
  8. typedef struct {
  9.     int    s_type;
  10.     union {
  11.         int    (*s_f1)();
  12.         int    s_gpa;
  13.     } un;
  14. # define s_func        un.s_f1
  15. # define s_gp        un.s_gpa
  16.     char    s_name[8];
  17. } dbgoff_t;
  18.  
  19. # define    DO_ENV        0x45454545    /* first record */
  20. # define    DO_END        0x54545454    /* final record */
  21.  
  22. #ifndef STANDALONE
  23. #define NBREAKPOINTS    32
  24. struct brkpt_table {
  25.     unsigned bt_addr;        /* address where brkpt is installed */
  26.     unsigned bt_inst;        /* previous instruction */
  27.     int bt_type;            /* breakpoint type */
  28.     int bt_oldtype;            /* type before being suspended */
  29.     int bt_cpu;        /* for which cpu(s) - bit mask */
  30. };
  31.  
  32. /* stole from symmon/brkpt.c */
  33. #define    BTTYPE_EMPTY    0        /* unused entry */
  34. #define    BTTYPE_SUSPEND    1        /* suspended breakpoint */
  35. #define    BTTYPE_CONT    2        /* continue breakpoint */
  36. #define    BTTYPE_TEMP    3        /* temporary breakpoint */
  37. #endif
  38.  
  39. /*
  40.  * structure for commmunication between user idbg and internal
  41.  */
  42. struct idbgcomm {
  43.     int    i_func;        /* function index into dbgoff_t table */
  44.     int    i_arg;        /* 1st arg */
  45.     caddr_t    i_argp;        /* pointer to i_argcnt pairs of addr,len */
  46.     int    i_argcnt;    /* addr/len pairs */
  47.     caddr_t i_uaddr;    /* where to put output */
  48.     unsigned i_ulen;    /* length of user's buffer */
  49.     int    i_cause;    /* set to cause reg if error else 0 */
  50.     unsigned i_badvaddr;    /* where address error was if got one */
  51. };
  52.